﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace XenAppServices.ServiceLibrary.XenApp5
{
    [ServiceContract]
    public interface IXAServicesService
    {
        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        System.Collections.ObjectModel.Collection<XenAppServices.Classes.XASession> GetSessionsByUsername(string currentUsername);

        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        System.Collections.ObjectModel.Collection<XenAppServices.Classes.XASession> GetSessionsByServername(string serverName);

        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        void LogoffSession(string serverName, string sessionName, int sessionId);

        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        string GetVersion();

        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        System.Collections.ObjectModel.Collection<XenAppServices.Classes.XAServer> GetXAServers();

        [OperationContract()]
        [FaultContract(typeof(ApplicationException))]
        System.Collections.ObjectModel.Collection<XenAppServices.Classes.XAApplication> GetFarmApplications();
    }

}
